"""
肝脏参数模块 - 存储所有计算所需的默认参数
"""

# 肝脏体积计算参数
LIVER_VOLUME_PARAMS = {
    'bsa_coefficient': 0.722,      # BSA系数
    'bsa_exponent': 1.176,         # BSA指数
    'liver_volume_mean': 1.403,    # 平均肝脏体积(L)
    'liver_volume_cv': 12.0,       # 肝脏体积变异系数(%)
    'liver_density': 1080          # 肝脏密度(g/L)
}

# HPGL计算参数
HPGL_PARAMS = {
    'mean_gt20': 117.52,            # 大于20岁的平均值(x10^6 cells/g)
    'mean_lt20': 125,               # 小于20岁的平均值(x10^6 cells/g)
    'baseline': 3.103,              # 基准值(截距)
    'age_coefficient': -0.655,      # 年龄对数项系数
    'cv_gt20': 41.9,                # 大于20岁的变异系数(%)
    'cv_lt20': 20.0,                # 小于20岁的变异系数(%)
    'p450_baseline': 3.034,         # P450基线
    'hpgl_coefficient': -0.506      # HPGL系数
}

# MPPGL计算参数
MPPGL_PARAMS = {
    'mean': 39.446,                # 平均值(mg/g)
    'baseline': 1.596,             # 基准值
    'c1': 0,                       # 年龄一次项系数
    'c2': 0,                       # 年龄二次项系数
    'c3': 0,                       # 年龄三次项系数
    'cv': 54.7                     # 变异系数(%)
}

# CPPGL计算参数
CPPGL_PARAMS = {
    'mean': 80.581,                # 平均值(mg/g)
    'baseline': 28.895,            # 截距
    'slope': 1.3103,               # MPPGL系数
    'cv': 21.467                   # 变异系数(%)
}

# S9PPGL计算参数
S9PPGL_PARAMS = {
    'mean': 120.03,                # 平均值(mg/g)
    'baseline': 95.06,             # 基准值
    'cv': 30.0                     # 变异系数(%)
}

# 肠肝循环参数
ENTEROHEPATIC_RECIRCULATION_PARAMS = {
    # 进入胆囊的肝胆汁百分比
    'hepatic_bile_to_gallbladder_percent': 70.3,  # 平均70.3%的胆汁进入胆囊
    'hepatic_bile_to_gallbladder_cv': 32.1,      # 变异系数32.1%
    
    # IMMC循环时间 (h)
    'immc_cycle_time': 1.55,                     # 平均周期时间1.55小时
    'immc_cycle_time_cv': 55.0,                  # 变异系数55.0%
    
    # 胆囊在IMMC循环中的排空时刻
    'gallbladder_emptied_at_immc_cycle_percent': 30.0,  # IMMC循环的30%时刻
    
    # 胆囊释放常数 (1/h)
    'gallbladder_release_constant_fasted': 0.18,  # 空腹状态下的释放常数
    'gallbladder_release_constant_fed': 0.48,     # 进食状态下的释放常数
    'gallbladder_release_constant_fasted_cv': 30.0,  # 空腹状态变异系数30.0%
    'gallbladder_release_constant_fed_cv': 19.0,     # 进食状态变异系数19.0%
    
    # 胆囊残余容积百分比
    'gallbladder_residual_volume_fasted': 79.4,   # 空腹状态下的残余容积79.4%
    'gallbladder_residual_volume_fed': 59.9,      # 进食状态下的残余容积59.9%
    'gallbladder_residual_volume_fasted_cv': 13.1,  # 空腹状态变异系数13.1%
    'gallbladder_residual_volume_fed_cv': 39.6      # 进食状态变异系数39.6%
}


# 计算公式摘要
FORMULA_SUMMARY = {
    "肝脏体积": "liver_volume = bsa_coefficient * (bsa ^ bsa_exponent)",
    "肝脏重量": "liver_weight = liver_volume * liver_density",
    "HPGL": "HPGL = 10^(age_coefficient * log(age) + baseline)",
    "MPPGL": "MPPGL = 10^(baseline + c1*age + c2*age^2 + c3*age^3)",
    "CPPGL": "CPPGL = baseline + slope * MPPGL",
    "S9PPGL": "S9PPGL = MPPGL + CPPGL",
    "胆囊药物释放": "dDrug/dt = kgall * Drug_in_gallbladder * (1 - Residual_volume_percent/100)"
}
